<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>single_nubot_gazebo: gazebo::NubotGazebo Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">single_nubot_gazebo
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacegazebo.html">gazebo</a></li><li class="navelem"><a class="el" href="classgazebo_1_1NubotGazebo.html">NubotGazebo</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classgazebo_1_1NubotGazebo-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">gazebo::NubotGazebo Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A basic motions realization in Gazebo.  
 <a href="classgazebo_1_1NubotGazebo.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="nubot__gazebo_8hh_source.html">nubot_gazebo.hh</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for gazebo::NubotGazebo:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classgazebo_1_1NubotGazebo.png" usemap="#gazebo::NubotGazebo_map" alt=""/>
  <map id="gazebo::NubotGazebo_map" name="gazebo::NubotGazebo_map">
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6c8d0be666316dfa03c49ec0a5e01e96"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a6c8d0be666316dfa03c49ec0a5e01e96">NubotGazebo</a> ()</td></tr>
<tr class="memdesc:a6c8d0be666316dfa03c49ec0a5e01e96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. Will be called firstly.  <a href="#a6c8d0be666316dfa03c49ec0a5e01e96">More...</a><br/></td></tr>
<tr class="separator:a6c8d0be666316dfa03c49ec0a5e01e96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90ec014dbd4dcad3f1f0c78771fd4e63"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a90ec014dbd4dcad3f1f0c78771fd4e63">~NubotGazebo</a> ()</td></tr>
<tr class="memdesc:a90ec014dbd4dcad3f1f0c78771fd4e63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a90ec014dbd4dcad3f1f0c78771fd4e63">More...</a><br/></td></tr>
<tr class="separator:a90ec014dbd4dcad3f1f0c78771fd4e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aa1eea79757774a935fe82a5fbc1b3f94"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#aa1eea79757774a935fe82a5fbc1b3f94">Load</a> (physics::ModelPtr _parent, sdf::ElementPtr)</td></tr>
<tr class="memdesc:aa1eea79757774a935fe82a5fbc1b3f94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load the controller. Required by model plugin. Will be called secondly.  <a href="#aa1eea79757774a935fe82a5fbc1b3f94">More...</a><br/></td></tr>
<tr class="separator:aa1eea79757774a935fe82a5fbc1b3f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d2bb8130da6d209089f5ee469427ca4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a9d2bb8130da6d209089f5ee469427ca4">UpdateChild</a> ()</td></tr>
<tr class="memdesc:a9d2bb8130da6d209089f5ee469427ca4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the controller. It is running every simulation iteration. So you can put your core code here.(in this code, either <a class="el" href="classgazebo_1_1NubotGazebo.html#aaa7835337bbfd120b5b85af40ccf47ae" title="Robot motion controlled by real-robot code; or controlled by a keyboard. ">nubot_be_control()</a> or <a class="el" href="classgazebo_1_1NubotGazebo.html#a991cc13697cbd1eaf855d21e4f5d78d2" title="Single nubot predefined autonomous motions. ">nubot_auto_control()</a>)  <a href="#a9d2bb8130da6d209089f5ee469427ca4">More...</a><br/></td></tr>
<tr class="separator:a9d2bb8130da6d209089f5ee469427ca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf91360d6ce9b5f2cf02c3907100495e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#abf91360d6ce9b5f2cf02c3907100495e">Init</a> ()</td></tr>
<tr class="memdesc:abf91360d6ce9b5f2cf02c3907100495e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Model Initialization(after the Load function). Not required by model plugin. Will be called thirdly.  <a href="#abf91360d6ce9b5f2cf02c3907100495e">More...</a><br/></td></tr>
<tr class="separator:abf91360d6ce9b5f2cf02c3907100495e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefa336771bb8dffca92a2919352b62bc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#aefa336771bb8dffca92a2919352b62bc">Reset</a> ()</td></tr>
<tr class="memdesc:aefa336771bb8dffca92a2919352b62bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Model Reset function. Not required by model plugin. It is triggered when the world resets.  <a href="#aefa336771bb8dffca92a2919352b62bc">More...</a><br/></td></tr>
<tr class="separator:aefa336771bb8dffca92a2919352b62bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a96b102bf11d96dda2cdab0f2f9460d8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a96b102bf11d96dda2cdab0f2f9460d8d">model_states_CB</a> (const gazebo_msgs::ModelStates::ConstPtr &amp;_msg)</td></tr>
<tr class="memdesc:a96b102bf11d96dda2cdab0f2f9460d8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">ModelStates message callback function.  <a href="#a96b102bf11d96dda2cdab0f2f9460d8d">More...</a><br/></td></tr>
<tr class="separator:a96b102bf11d96dda2cdab0f2f9460d8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafe5e8deca0e5a85a30c73629eee8703"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#aafe5e8deca0e5a85a30c73629eee8703">vel_cmd_CB</a> (const <a class="el" href="structnubot__common_1_1VelCmd__.html#a5a57f1d76c9209090962bf805a6d8cc8">nubot_common::VelCmd::ConstPtr</a> &amp;cmd)</td></tr>
<tr class="memdesc:aafe5e8deca0e5a85a30c73629eee8703"><td class="mdescLeft">&#160;</td><td class="mdescRight">VelCmd message callback function.  <a href="#aafe5e8deca0e5a85a30c73629eee8703">More...</a><br/></td></tr>
<tr class="separator:aafe5e8deca0e5a85a30c73629eee8703"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae042db5614aea3da7c8f547c44d9ff6e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ae042db5614aea3da7c8f547c44d9ff6e">ball_handle_control_service</a> (<a class="el" href="structnubot__common_1_1BallHandle.html#a02af01a2f731b0fc249f1cf9df23a00e">nubot_common::BallHandle::Request</a> &amp;req, <a class="el" href="structnubot__common_1_1BallHandle.html#a6c4cc1c333d5fe1cfc569ee22b68ba89">nubot_common::BallHandle::Response</a> &amp;res)</td></tr>
<tr class="memdesc:ae042db5614aea3da7c8f547c44d9ff6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ball handling service server function.  <a href="#ae042db5614aea3da7c8f547c44d9ff6e">More...</a><br/></td></tr>
<tr class="separator:ae042db5614aea3da7c8f547c44d9ff6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade096537ecc11263f1dd14428325329b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ade096537ecc11263f1dd14428325329b">shoot_control_servive</a> (<a class="el" href="structnubot__common_1_1Shoot.html#a8d200603298d1fe7377f13911e7d5bdc">nubot_common::Shoot::Request</a> &amp;req, <a class="el" href="structnubot__common_1_1Shoot.html#a4d609a5e9faac9c7c0d32b7cf0eb5738">nubot_common::Shoot::Response</a> &amp;res)</td></tr>
<tr class="memdesc:ade096537ecc11263f1dd14428325329b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ball shooting service server function.  <a href="#ade096537ecc11263f1dd14428325329b">More...</a><br/></td></tr>
<tr class="separator:ade096537ecc11263f1dd14428325329b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c87fbf2e13762d4827367028d493670"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a2c87fbf2e13762d4827367028d493670">message_queue_thread</a> ()</td></tr>
<tr class="memdesc:a2c87fbf2e13762d4827367028d493670"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom message callback queue thread.  <a href="#a2c87fbf2e13762d4827367028d493670">More...</a><br/></td></tr>
<tr class="separator:a2c87fbf2e13762d4827367028d493670"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe786a1fbc3407f1b2ac655b1af15a8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#abe786a1fbc3407f1b2ac655b1af15a8b">service_queue_thread</a> ()</td></tr>
<tr class="memdesc:abe786a1fbc3407f1b2ac655b1af15a8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom service callback queue thread.  <a href="#abe786a1fbc3407f1b2ac655b1af15a8b">More...</a><br/></td></tr>
<tr class="separator:abe786a1fbc3407f1b2ac655b1af15a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b884175db3fd9e7ac88f6076d5f2b8e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a3b884175db3fd9e7ac88f6076d5f2b8e">update_model_info</a> (void)</td></tr>
<tr class="memdesc:a3b884175db3fd9e7ac88f6076d5f2b8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updating models' states; By default, Gaussian noise is not added, but you can add it by changing the flag in this function.  <a href="#a3b884175db3fd9e7ac88f6076d5f2b8e">More...</a><br/></td></tr>
<tr class="separator:a3b884175db3fd9e7ac88f6076d5f2b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad93752507f23724bba2f731325e4c14b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ad93752507f23724bba2f731325e4c14b">nubot_locomotion</a> (math::Vector3 linear_vel_vector, math::Vector3 angular_vel_vector)</td></tr>
<tr class="memdesc:ad93752507f23724bba2f731325e4c14b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nubot moving fuction: rotation + translation.  <a href="#ad93752507f23724bba2f731325e4c14b">More...</a><br/></td></tr>
<tr class="separator:ad93752507f23724bba2f731325e4c14b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ac8c9467b8e14b4ceb0718d97031617"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a8ac8c9467b8e14b4ceb0718d97031617">get_rot_vector</a> (math::Vector3 target_point_world, double degree_thres)</td></tr>
<tr class="memdesc:a8ac8c9467b8e14b4ceb0718d97031617"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nubot rotates; kicking mechanism towards ball.  <a href="#a8ac8c9467b8e14b4ceb0718d97031617">More...</a><br/></td></tr>
<tr class="separator:a8ac8c9467b8e14b4ceb0718d97031617"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a50fbb4be79c99cf860b84413f8fa9b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a0a50fbb4be79c99cf860b84413f8fa9b">get_trans_vector</a> (math::Vector3 target_point_world, double metre_thres)</td></tr>
<tr class="memdesc:a0a50fbb4be79c99cf860b84413f8fa9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nubot chasing football function.  <a href="#a0a50fbb4be79c99cf860b84413f8fa9b">More...</a><br/></td></tr>
<tr class="separator:a0a50fbb4be79c99cf860b84413f8fa9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91862269320f78bc24856e8877af3cc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a91862269320f78bc24856e8877af3cc4">dribble_ball</a> (void)</td></tr>
<tr class="memdesc:a91862269320f78bc24856e8877af3cc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nubot dribbling ball function. The football follows nubot movement.  <a href="#a91862269320f78bc24856e8877af3cc4">More...</a><br/></td></tr>
<tr class="separator:a91862269320f78bc24856e8877af3cc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b8f02255ccde5f6768afb45fee8b81b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a0b8f02255ccde5f6768afb45fee8b81b">kick_ball</a> (int mode, double vel)</td></tr>
<tr class="memdesc:a0b8f02255ccde5f6768afb45fee8b81b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nubot kicking ball. For more information, read the paper "Weijia Yao et al., A Simulation System Based on ROS and Gazebo for RoboCup Middle Size League, 2015".  <a href="#a0b8f02255ccde5f6768afb45fee8b81b">More...</a><br/></td></tr>
<tr class="separator:a0b8f02255ccde5f6768afb45fee8b81b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8366f268f6bba085201123d74b786368"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a8366f268f6bba085201123d74b786368">get_is_hold_ball</a> (void)</td></tr>
<tr class="memdesc:a8366f268f6bba085201123d74b786368"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of flag is_hold_ball_.  <a href="#a8366f268f6bba085201123d74b786368">More...</a><br/></td></tr>
<tr class="separator:a8366f268f6bba085201123d74b786368"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a991cc13697cbd1eaf855d21e4f5d78d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a991cc13697cbd1eaf855d21e4f5d78d2">nubot_auto_control</a> (void)</td></tr>
<tr class="memdesc:a991cc13697cbd1eaf855d21e4f5d78d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single nubot predefined autonomous motions.  <a href="#a991cc13697cbd1eaf855d21e4f5d78d2">More...</a><br/></td></tr>
<tr class="separator:a991cc13697cbd1eaf855d21e4f5d78d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa7835337bbfd120b5b85af40ccf47ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#aaa7835337bbfd120b5b85af40ccf47ae">nubot_be_control</a> (void)</td></tr>
<tr class="memdesc:aaa7835337bbfd120b5b85af40ccf47ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Robot motion controlled by real-robot code; or controlled by a keyboard.  <a href="#aaa7835337bbfd120b5b85af40ccf47ae">More...</a><br/></td></tr>
<tr class="separator:aaa7835337bbfd120b5b85af40ccf47ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a828269281839a4f18d30f02d20ad62b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a828269281839a4f18d30f02d20ad62b6">config</a> (<a class="el" href="classnubot__gazebo_1_1NubotGazeboConfig.html">nubot_gazebo::NubotGazeboConfig</a> &amp;config, uint32_t level)</td></tr>
<tr class="memdesc:a828269281839a4f18d30f02d20ad62b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">dynmaic recofigure calback function  <a href="#a828269281839a4f18d30f02d20ad62b6">More...</a><br/></td></tr>
<tr class="separator:a828269281839a4f18d30f02d20ad62b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a42f8965b7ccb35d0b6a0624c56ba86"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a3a42f8965b7ccb35d0b6a0624c56ba86">ball_vel_decay</a> (math::Vector3 vel, double mu)</td></tr>
<tr class="memdesc:a3a42f8965b7ccb35d0b6a0624c56ba86"><td class="mdescLeft">&#160;</td><td class="mdescRight">a work-around for no rolling-friction in ODE. For more information, please read ODE manual.  <a href="#a3a42f8965b7ccb35d0b6a0624c56ba86">More...</a><br/></td></tr>
<tr class="separator:a3a42f8965b7ccb35d0b6a0624c56ba86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b5d4a3644867257cb379613072e9567"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a5b5d4a3644867257cb379613072e9567">set_ball_vel</a> (math::Vector3 &amp;vel, bool &amp;ball_decay_flag)</td></tr>
<tr class="memdesc:a5b5d4a3644867257cb379613072e9567"><td class="mdescLeft">&#160;</td><td class="mdescRight">replace football_model_-&gt;SetLinearVel() with a flag to indicate vel decay  <a href="#a5b5d4a3644867257cb379613072e9567">More...</a><br/></td></tr>
<tr class="separator:a5b5d4a3644867257cb379613072e9567"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:aa56e5c10cfbbc981460ab1bcc204d071"><td class="memItemLeft" align="right" valign="top">physics::WorldPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#aa56e5c10cfbbc981460ab1bcc204d071">world_</a></td></tr>
<tr class="separator:aa56e5c10cfbbc981460ab1bcc204d071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7f22b4b498327d11697f07cb064e460"><td class="memItemLeft" align="right" valign="top">physics::ModelPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ac7f22b4b498327d11697f07cb064e460">nubot_model_</a></td></tr>
<tr class="separator:ac7f22b4b498327d11697f07cb064e460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76897836db2bb2e49c75fbf64b4b9aeb"><td class="memItemLeft" align="right" valign="top">physics::ModelPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a76897836db2bb2e49c75fbf64b4b9aeb">football_model_</a></td></tr>
<tr class="separator:a76897836db2bb2e49c75fbf64b4b9aeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a191e11ef5a0b3e6275c3938ad61cec0a"><td class="memItemLeft" align="right" valign="top">physics::LinkPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a191e11ef5a0b3e6275c3938ad61cec0a">football_link_</a></td></tr>
<tr class="separator:a191e11ef5a0b3e6275c3938ad61cec0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97a021a147d45134fe79ab21531e55df"><td class="memItemLeft" align="right" valign="top">physics::LinkPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a97a021a147d45134fe79ab21531e55df">nubot_link_</a></td></tr>
<tr class="separator:a97a021a147d45134fe79ab21531e55df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a310c7df239fab0570dbdc82d4552ec6d"><td class="memItemLeft" align="right" valign="top">ros::NodeHandle *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a310c7df239fab0570dbdc82d4552ec6d">rosnode_</a></td></tr>
<tr class="separator:a310c7df239fab0570dbdc82d4552ec6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b758780795b0406d06bf5db5122dbe2"><td class="memItemLeft" align="right" valign="top">ros::Subscriber&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a7b758780795b0406d06bf5db5122dbe2">ModelStates_sub_</a></td></tr>
<tr class="separator:a7b758780795b0406d06bf5db5122dbe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6264896320559e214ac33d820c44b357"><td class="memItemLeft" align="right" valign="top">ros::Subscriber&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a6264896320559e214ac33d820c44b357">Velcmd_sub_</a></td></tr>
<tr class="separator:a6264896320559e214ac33d820c44b357"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8abc682c8dc7cad7d29d131901aec05"><td class="memItemLeft" align="right" valign="top">ros::ServiceServer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#af8abc682c8dc7cad7d29d131901aec05">ballhandle_server_</a></td></tr>
<tr class="separator:af8abc682c8dc7cad7d29d131901aec05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd3e6ab82580823e83d84433dac19e86"><td class="memItemLeft" align="right" valign="top">ros::ServiceServer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#afd3e6ab82580823e83d84433dac19e86">shoot_server_</a></td></tr>
<tr class="separator:afd3e6ab82580823e83d84433dac19e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae985620428222dd9b1b5f507339119b8"><td class="memItemLeft" align="right" valign="top">boost::thread&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ae985620428222dd9b1b5f507339119b8">message_callback_queue_thread_</a></td></tr>
<tr class="separator:ae985620428222dd9b1b5f507339119b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c0bc3e99d501d7fcac319848006f87c"><td class="memItemLeft" align="right" valign="top">boost::thread&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a0c0bc3e99d501d7fcac319848006f87c">service_callback_queue_thread_</a></td></tr>
<tr class="separator:a0c0bc3e99d501d7fcac319848006f87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f7775e1670311efc2aad7c306a3077"><td class="memItemLeft" align="right" valign="top">boost::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a70f7775e1670311efc2aad7c306a3077">msgCB_lock_</a></td></tr>
<tr class="separator:a70f7775e1670311efc2aad7c306a3077"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b3d2a253732eedfcf18e0223435bed0"><td class="memItemLeft" align="right" valign="top">boost::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a6b3d2a253732eedfcf18e0223435bed0">srvCB_lock_</a></td></tr>
<tr class="separator:a6b3d2a253732eedfcf18e0223435bed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7186c914f81602db7bd347b940794bbf"><td class="memItemLeft" align="right" valign="top">ros::CallbackQueue&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a7186c914f81602db7bd347b940794bbf">message_queue_</a></td></tr>
<tr class="separator:a7186c914f81602db7bd347b940794bbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1fe2dc1962659f70ebba9555a92e59a"><td class="memItemLeft" align="right" valign="top">ros::CallbackQueue&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ae1fe2dc1962659f70ebba9555a92e59a">service_queue_</a></td></tr>
<tr class="separator:ae1fe2dc1962659f70ebba9555a92e59a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e3b8b74aa075427ecbd5c82f630144d"><td class="memItemLeft" align="right" valign="top">event::ConnectionPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a4e3b8b74aa075427ecbd5c82f630144d">update_connection_</a></td></tr>
<tr class="separator:a4e3b8b74aa075427ecbd5c82f630144d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a320dc212fab523958abb529f946133bd"><td class="memItemLeft" align="right" valign="top">gazebo_msgs::ModelStates&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a320dc212fab523958abb529f946133bd">model_states_msg_</a></td></tr>
<tr class="separator:a320dc212fab523958abb529f946133bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5abf5be34d8441db05d94ead7924ce14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgazebo_1_1model__state.html">model_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a5abf5be34d8441db05d94ead7924ce14">nubot_state_</a></td></tr>
<tr class="separator:a5abf5be34d8441db05d94ead7924ce14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7356a83d30997d884440a10e95d29f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structgazebo_1_1model__state.html">model_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#af7356a83d30997d884440a10e95d29f4">football_state_</a></td></tr>
<tr class="separator:af7356a83d30997d884440a10e95d29f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36186a24f60f3c88fd6fb12fd85b4fa4"><td class="memItemLeft" align="right" valign="top">common::Time&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a36186a24f60f3c88fd6fb12fd85b4fa4">receive_sim_time_</a></td></tr>
<tr class="separator:a36186a24f60f3c88fd6fb12fd85b4fa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e05ad53365765db200e0d62c451e069"><td class="memItemLeft" align="right" valign="top">common::Time&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a8e05ad53365765db200e0d62c451e069">last_current_time_</a></td></tr>
<tr class="separator:a8e05ad53365765db200e0d62c451e069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a385577ffa9cc48440e8047019d6e67f6"><td class="memItemLeft" align="right" valign="top">math::Vector3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a385577ffa9cc48440e8047019d6e67f6">desired_rot_vector_</a></td></tr>
<tr class="separator:a385577ffa9cc48440e8047019d6e67f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac515996ccf0c682a0ed88f00e401373d"><td class="memItemLeft" align="right" valign="top">math::Vector3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ac515996ccf0c682a0ed88f00e401373d">desired_trans_vector_</a></td></tr>
<tr class="separator:ac515996ccf0c682a0ed88f00e401373d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4b4790d24996fbfdd51f74baa45170a"><td class="memItemLeft" align="right" valign="top">math::Vector3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ae4b4790d24996fbfdd51f74baa45170a">nubot_football_vector_</a></td></tr>
<tr class="separator:ae4b4790d24996fbfdd51f74baa45170a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea8b62919e2834d4311a7fd7935036af"><td class="memItemLeft" align="right" valign="top">math::Vector3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#aea8b62919e2834d4311a7fd7935036af">kick_vector_world_</a></td></tr>
<tr class="separator:aea8b62919e2834d4311a7fd7935036af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11fbfac7f239d13730b4d676af18f67e"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a11fbfac7f239d13730b4d676af18f67e">nubot_football_vector_length_</a></td></tr>
<tr class="separator:a11fbfac7f239d13730b4d676af18f67e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac92e4461911d9522f1454978d26ec461"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ac92e4461911d9522f1454978d26ec461">robot_namespace_</a></td></tr>
<tr class="separator:ac92e4461911d9522f1454978d26ec461"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf2314dfb2ab6cb5ecdb2bb0a9736665"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#adf2314dfb2ab6cb5ecdb2bb0a9736665">model_name_</a></td></tr>
<tr class="separator:adf2314dfb2ab6cb5ecdb2bb0a9736665"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea004ec0ee1c5dfdc8cba31939f18e39"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#aea004ec0ee1c5dfdc8cba31939f18e39">football_name_</a></td></tr>
<tr class="separator:aea004ec0ee1c5dfdc8cba31939f18e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a918fab93f4939a8bb06d65a997e20a54"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a918fab93f4939a8bb06d65a997e20a54">football_chassis_</a></td></tr>
<tr class="separator:a918fab93f4939a8bb06d65a997e20a54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d3cf2ace05ce1ade8b71d1c6397a7b0"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a5d3cf2ace05ce1ade8b71d1c6397a7b0">robot_prefix_</a></td></tr>
<tr class="separator:a5d3cf2ace05ce1ade8b71d1c6397a7b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af45b036c2156b537d5282f63c509d1e4"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#af45b036c2156b537d5282f63c509d1e4">football_index_</a></td></tr>
<tr class="separator:af45b036c2156b537d5282f63c509d1e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adce69b7247cba8a3433a6cdfad5b61ef"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#adce69b7247cba8a3433a6cdfad5b61ef">nubot_index_</a></td></tr>
<tr class="separator:adce69b7247cba8a3433a6cdfad5b61ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67f7850c63c5dd6fe80694c9a426e5ec"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a67f7850c63c5dd6fe80694c9a426e5ec">max_linear_vel_</a></td></tr>
<tr class="separator:a67f7850c63c5dd6fe80694c9a426e5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9da5f6a1c7b5624dbf6bb20a2819d40"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ae9da5f6a1c7b5624dbf6bb20a2819d40">max_angular_vel_</a></td></tr>
<tr class="separator:ae9da5f6a1c7b5624dbf6bb20a2819d40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a646a80199e35f2f47558b7b7aa27bea4"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a646a80199e35f2f47558b7b7aa27bea4">dribble_distance_thres_</a></td></tr>
<tr class="separator:a646a80199e35f2f47558b7b7aa27bea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab012e0229172416640558cf2746a0974"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ab012e0229172416640558cf2746a0974">dribble_angle_thres_</a></td></tr>
<tr class="separator:ab012e0229172416640558cf2746a0974"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc8f7cb67014e700c08e27023353e419"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#abc8f7cb67014e700c08e27023353e419">kick_ball_vel_</a></td></tr>
<tr class="separator:abc8f7cb67014e700c08e27023353e419"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af17747304ff9b241fa0642c52923498b"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#af17747304ff9b241fa0642c52923498b">Vx_cmd_</a></td></tr>
<tr class="separator:af17747304ff9b241fa0642c52923498b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a977c91e62fed23c5fb9233e5d38ad597"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a977c91e62fed23c5fb9233e5d38ad597">Vy_cmd_</a></td></tr>
<tr class="separator:a977c91e62fed23c5fb9233e5d38ad597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebc0851c9ab6da1d1c96d470e72758f8"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#aebc0851c9ab6da1d1c96d470e72758f8">w_cmd_</a></td></tr>
<tr class="separator:aebc0851c9ab6da1d1c96d470e72758f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ebd21f6da11a8f2b514c2e0930a26e6"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a7ebd21f6da11a8f2b514c2e0930a26e6">force_</a></td></tr>
<tr class="separator:a7ebd21f6da11a8f2b514c2e0930a26e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e30363181d0a790081ce6d0e9151e6b"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a9e30363181d0a790081ce6d0e9151e6b">dribble_P_</a></td></tr>
<tr class="separator:a9e30363181d0a790081ce6d0e9151e6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab74f3e63fe906f0c982837b1eeeefb5c"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ab74f3e63fe906f0c982837b1eeeefb5c">dribble_I_</a></td></tr>
<tr class="separator:ab74f3e63fe906f0c982837b1eeeefb5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a727079312e073df8799e1a385ac8da00"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a727079312e073df8799e1a385ac8da00">dribble_D_</a></td></tr>
<tr class="separator:a727079312e073df8799e1a385ac8da00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f8a50e34877912a0c53c3185ccd28d9"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a0f8a50e34877912a0c53c3185ccd28d9">I_term_max_</a></td></tr>
<tr class="separator:a0f8a50e34877912a0c53c3185ccd28d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affe0d982594c738a7ebec3ac1849c01f"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#affe0d982594c738a7ebec3ac1849c01f">I_term_min_</a></td></tr>
<tr class="separator:affe0d982594c738a7ebec3ac1849c01f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b6ab10ac24ec1483797885f5d1b9110"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a6b6ab10ac24ec1483797885f5d1b9110">cmd_max_</a></td></tr>
<tr class="separator:a6b6ab10ac24ec1483797885f5d1b9110"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a360cbab192432814122197f21d685e56"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a360cbab192432814122197f21d685e56">cmd_min_</a></td></tr>
<tr class="separator:a360cbab192432814122197f21d685e56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c54a29f7aa4e67e4f86b5e848a930d5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a3c54a29f7aa4e67e4f86b5e848a930d5">mode_</a></td></tr>
<tr class="separator:a3c54a29f7aa4e67e4f86b5e848a930d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1aeb8fee9f7e057b182afcf2fd03f1c1"><td class="memItemLeft" align="right" valign="top">common::Time&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a1aeb8fee9f7e057b182afcf2fd03f1c1">last_update_time_</a></td></tr>
<tr class="separator:a1aeb8fee9f7e057b182afcf2fd03f1c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefc2d91922066c5ffc1d7faa175ab68a"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#aefc2d91922066c5ffc1d7faa175ab68a">model_count_</a></td></tr>
<tr class="separator:aefc2d91922066c5ffc1d7faa175ab68a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a408738f621515f00547b54ed74481127"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a408738f621515f00547b54ed74481127">dribble_flag_</a></td></tr>
<tr class="separator:a408738f621515f00547b54ed74481127"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85d5357dfacc73801bed752d6dc297d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a85d5357dfacc73801bed752d6dc297d4">shot_flag_</a></td></tr>
<tr class="separator:a85d5357dfacc73801bed752d6dc297d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7c8ddd9342426222c1354740b23a01d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ae7c8ddd9342426222c1354740b23a01d">ModelStatesCB_flag_</a></td></tr>
<tr class="separator:ae7c8ddd9342426222c1354740b23a01d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6392423c1aaf2ba68aac9eeb318f9e5b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a6392423c1aaf2ba68aac9eeb318f9e5b">judge_nubot_stuck_</a></td></tr>
<tr class="separator:a6392423c1aaf2ba68aac9eeb318f9e5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d63b5e7f3d213fca30bbe09bd15e114"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a0d63b5e7f3d213fca30bbe09bd15e114">is_hold_ball_</a></td></tr>
<tr class="separator:a0d63b5e7f3d213fca30bbe09bd15e114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51c8eaa9e931b22700f6c000e413bfa2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a51c8eaa9e931b22700f6c000e413bfa2">ball_decay_flag_</a></td></tr>
<tr class="separator:a51c8eaa9e931b22700f6c000e413bfa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbdb7428487c2f6dec5000bae3d6f5a7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#afbdb7428487c2f6dec5000bae3d6f5a7">count_</a></td></tr>
<tr class="separator:afbdb7428487c2f6dec5000bae3d6f5a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf9828d7b8b37440a8e45ef63895ec8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nubot__gazebo_8hh.html#a9f17572284bab3e9bd067a6393a7953b">nubot_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#acf9828d7b8b37440a8e45ef63895ec8b">state_</a></td></tr>
<tr class="separator:acf9828d7b8b37440a8e45ef63895ec8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8db3f4b9767b4ec34716756f02fb7fe9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nubot__gazebo_8hh.html#a503a2f01f9f49bd293d3c44faf21b528">nubot_substate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a8db3f4b9767b4ec34716756f02fb7fe9">sub_state_</a></td></tr>
<tr class="separator:a8db3f4b9767b4ec34716756f02fb7fe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5865f8d5f7aad90ace72fe2942b6d25e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnubot_1_1PID.html">nubot::PID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a5865f8d5f7aad90ace72fe2942b6d25e">dribble_pid_</a></td></tr>
<tr class="separator:a5865f8d5f7aad90ace72fe2942b6d25e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac16bd419aba2826c0227ac575b351e9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnubot_1_1ParaTrajPlanning.html">nubot::ParaTrajPlanning</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#ac16bd419aba2826c0227ac575b351e9e">traj_plan_linear_</a></td></tr>
<tr class="separator:ac16bd419aba2826c0227ac575b351e9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95c171c478be4aadf6b4d96a3d3a48c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnubot_1_1ParaTrajPlanning.html">nubot::ParaTrajPlanning</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a95c171c478be4aadf6b4d96a3d3a48c8">traj_plan_rot_</a></td></tr>
<tr class="separator:a95c171c478be4aadf6b4d96a3d3a48c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a6b999a205a45e1778e0f4d75e325e0"><td class="memItemLeft" align="right" valign="top">math::Rand&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a5a6b999a205a45e1778e0f4d75e325e0">rand_</a></td></tr>
<tr class="separator:a5a6b999a205a45e1778e0f4d75e325e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f892f9dcb5b46bdd232ffec277dd093"><td class="memItemLeft" align="right" valign="top">dynamic_reconfigure::Server<br class="typebreak"/>
&lt; <a class="el" href="classnubot__gazebo_1_1NubotGazeboConfig.html">nubot_gazebo::NubotGazeboConfig</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgazebo_1_1NubotGazebo.html#a6f892f9dcb5b46bdd232ffec277dd093">reconfigureServer_</a></td></tr>
<tr class="separator:a6f892f9dcb5b46bdd232ffec277dd093"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A basic motions realization in Gazebo. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a6c8d0be666316dfa03c49ec0a5e01e96"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NubotGazebo::NubotGazebo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. Will be called firstly. </p>

</div>
</div>
<a class="anchor" id="a90ec014dbd4dcad3f1f0c78771fd4e63"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">NubotGazebo::~NubotGazebo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ae042db5614aea3da7c8f547c44d9ff6e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool NubotGazebo::ball_handle_control_service </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnubot__common_1_1BallHandle.html#a02af01a2f731b0fc249f1cf9df23a00e">nubot_common::BallHandle::Request</a> &amp;&#160;</td>
          <td class="paramname"><em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnubot__common_1_1BallHandle.html#a6c4cc1c333d5fe1cfc569ee22b68ba89">nubot_common::BallHandle::Response</a> &amp;&#160;</td>
          <td class="paramname"><em>res</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Ball handling service server function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">req</td><td>ball handle service request </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">res</td><td>ball handle service response </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3a42f8965b7ccb35d0b6a0624c56ba86"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::ball_vel_decay </td>
          <td>(</td>
          <td class="paramtype">math::Vector3&#160;</td>
          <td class="paramname"><em>vel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mu</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>a work-around for no rolling-friction in ODE. For more information, please read ODE manual. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">vel</td><td>football's current 3D velocity </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mu</td><td>friction coefficient </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a828269281839a4f18d30f02d20ad62b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::config </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classnubot__gazebo_1_1NubotGazeboConfig.html">nubot_gazebo::NubotGazeboConfig</a> &amp;&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>level</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>dynmaic recofigure calback function </p>

</div>
</div>
<a class="anchor" id="a91862269320f78bc24856e8877af3cc4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::dribble_ball </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Nubot dribbling ball function. The football follows nubot movement. </p>
<p>Three ways of ball-dribbling are provided: 1. Set ball pose;</p>
<ol type="1">
<li>Set tangential velocity; 3. Set secant velocity. </li>
</ol>

</div>
</div>
<a class="anchor" id="a8366f268f6bba085201123d74b786368"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool NubotGazebo::get_is_hold_ball </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the value of flag is_hold_ball_. </p>
<dl class="section return"><dt>Returns</dt><dd>1: is holding ball 0: is not holding ball </dd></dl>

</div>
</div>
<a class="anchor" id="a8ac8c9467b8e14b4ceb0718d97031617"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool NubotGazebo::get_rot_vector </td>
          <td>(</td>
          <td class="paramtype">math::Vector3&#160;</td>
          <td class="paramname"><em>target_point_world</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>degree_thres</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Nubot rotates; kicking mechanism towards ball. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">target_point_world</td><td>target point coordinates in world frame </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">degree_thres</td><td>angle error threshold in degree </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool value indicate if reach the target orientation. 1: yes; 0:no </dd></dl>

</div>
</div>
<a class="anchor" id="a0a50fbb4be79c99cf860b84413f8fa9b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool NubotGazebo::get_trans_vector </td>
          <td>(</td>
          <td class="paramtype">math::Vector3&#160;</td>
          <td class="paramname"><em>target_point_world</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>metre_thres</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Nubot chasing football function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">target_point_world</td><td>target point coordinates in world frame </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">metre_thres</td><td>distance error threshold in metres </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool value indicate if reach the target position. 1:yes; 0:no </dd></dl>

</div>
</div>
<a class="anchor" id="abf91360d6ce9b5f2cf02c3907100495e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::Init </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Model Initialization(after the Load function). Not required by model plugin. Will be called thirdly. </p>

</div>
</div>
<a class="anchor" id="a0b8f02255ccde5f6768afb45fee8b81b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::kick_ball </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vel</em> = <code>20.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Nubot kicking ball. For more information, read the paper "Weijia Yao et al., A Simulation System Based on ROS and Gazebo for RoboCup Middle Size League, 2015". </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>kick ball mode FLY or RUN </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">vel</td><td>initial velocity of the ball kicked </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa1eea79757774a935fe82a5fbc1b3f94"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::Load </td>
          <td>(</td>
          <td class="paramtype">physics::ModelPtr&#160;</td>
          <td class="paramname"><em>_parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sdf::ElementPtr&#160;</td>
          <td class="paramname"><em>_sdf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Load the controller. Required by model plugin. Will be called secondly. </p>

</div>
</div>
<a class="anchor" id="a2c87fbf2e13762d4827367028d493670"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::message_queue_thread </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Custom message callback queue thread. </p>

</div>
</div>
<a class="anchor" id="a96b102bf11d96dda2cdab0f2f9460d8d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::model_states_CB </td>
          <td>(</td>
          <td class="paramtype">const gazebo_msgs::ModelStates::ConstPtr &amp;&#160;</td>
          <td class="paramname"><em>_msg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>ModelStates message callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">_msg</td><td>model_states msg shared pointer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a991cc13697cbd1eaf855d21e4f5d78d2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::nubot_auto_control </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Single nubot predefined autonomous motions. </p>

</div>
</div>
<a class="anchor" id="aaa7835337bbfd120b5b85af40ccf47ae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::nubot_be_control </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Robot motion controlled by real-robot code; or controlled by a keyboard. </p>
<p>provide an interface, e.g. use messages to control robot velocity, use services to control robot perform ball-shooting or ball-dribbling </p>

</div>
</div>
<a class="anchor" id="ad93752507f23724bba2f731325e4c14b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::nubot_locomotion </td>
          <td>(</td>
          <td class="paramtype">math::Vector3&#160;</td>
          <td class="paramname"><em>linear_vel_vector</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">math::Vector3&#160;</td>
          <td class="paramname"><em>angular_vel_vector</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Nubot moving fuction: rotation + translation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">linear_vel_vector</td><td>translation velocity 3D vector </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">angular_vel_vector</td><td>rotation velocity 3D vector </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aefa336771bb8dffca92a2919352b62bc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::Reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Model Reset function. Not required by model plugin. It is triggered when the world resets. </p>

</div>
</div>
<a class="anchor" id="abe786a1fbc3407f1b2ac655b1af15a8b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::service_queue_thread </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Custom service callback queue thread. </p>

</div>
</div>
<a class="anchor" id="a5b5d4a3644867257cb379613072e9567"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::set_ball_vel </td>
          <td>(</td>
          <td class="paramtype">math::Vector3 &amp;&#160;</td>
          <td class="paramname"><em>vel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>ball_decay_flag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>replace football_model_-&gt;SetLinearVel() with a flag to indicate vel decay </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">vel</td><td>football's desired 3D velocity </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">ball_decay_flag</td><td>flag to indicate whether or not the slow down football </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ade096537ecc11263f1dd14428325329b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool NubotGazebo::shoot_control_servive </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnubot__common_1_1Shoot.html#a8d200603298d1fe7377f13911e7d5bdc">nubot_common::Shoot::Request</a> &amp;&#160;</td>
          <td class="paramname"><em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structnubot__common_1_1Shoot.html#a4d609a5e9faac9c7c0d32b7cf0eb5738">nubot_common::Shoot::Response</a> &amp;&#160;</td>
          <td class="paramname"><em>res</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Ball shooting service server function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">req</td><td>ball handle service request </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">res</td><td>ball handle service response </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3b884175db3fd9e7ac88f6076d5f2b8e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool NubotGazebo::update_model_info </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Updating models' states; By default, Gaussian noise is not added, but you can add it by changing the flag in this function. </p>
<dl class="section return"><dt>Returns</dt><dd>1: updating model info success 0: not success </dd></dl>

</div>
</div>
<a class="anchor" id="a9d2bb8130da6d209089f5ee469427ca4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::UpdateChild </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Update the controller. It is running every simulation iteration. So you can put your core code here.(in this code, either <a class="el" href="classgazebo_1_1NubotGazebo.html#aaa7835337bbfd120b5b85af40ccf47ae" title="Robot motion controlled by real-robot code; or controlled by a keyboard. ">nubot_be_control()</a> or <a class="el" href="classgazebo_1_1NubotGazebo.html#a991cc13697cbd1eaf855d21e4f5d78d2" title="Single nubot predefined autonomous motions. ">nubot_auto_control()</a>) </p>

</div>
</div>
<a class="anchor" id="aafe5e8deca0e5a85a30c73629eee8703"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void NubotGazebo::vel_cmd_CB </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structnubot__common_1_1VelCmd__.html#a5a57f1d76c9209090962bf805a6d8cc8">nubot_common::VelCmd::ConstPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>cmd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>VelCmd message callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cmd</td><td>VelCmd msg shared pointer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a51c8eaa9e931b22700f6c000e413bfa2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool gazebo::NubotGazebo::ball_decay_flag_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af8abc682c8dc7cad7d29d131901aec05"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ros::ServiceServer gazebo::NubotGazebo::ballhandle_server_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6b6ab10ac24ec1483797885f5d1b9110"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::cmd_max_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a360cbab192432814122197f21d685e56"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::cmd_min_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="afbdb7428487c2f6dec5000bae3d6f5a7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int gazebo::NubotGazebo::count_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a385577ffa9cc48440e8047019d6e67f6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">math::Vector3 gazebo::NubotGazebo::desired_rot_vector_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac515996ccf0c682a0ed88f00e401373d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">math::Vector3 gazebo::NubotGazebo::desired_trans_vector_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab012e0229172416640558cf2746a0974"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::dribble_angle_thres_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a727079312e073df8799e1a385ac8da00"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::dribble_D_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a646a80199e35f2f47558b7b7aa27bea4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::dribble_distance_thres_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a408738f621515f00547b54ed74481127"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool gazebo::NubotGazebo::dribble_flag_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab74f3e63fe906f0c982837b1eeeefb5c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::dribble_I_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9e30363181d0a790081ce6d0e9151e6b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::dribble_P_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5865f8d5f7aad90ace72fe2942b6d25e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classnubot_1_1PID.html">nubot::PID</a> gazebo::NubotGazebo::dribble_pid_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a918fab93f4939a8bb06d65a997e20a54"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string gazebo::NubotGazebo::football_chassis_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af45b036c2156b537d5282f63c509d1e4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int gazebo::NubotGazebo::football_index_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a191e11ef5a0b3e6275c3938ad61cec0a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">physics::LinkPtr gazebo::NubotGazebo::football_link_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a76897836db2bb2e49c75fbf64b4b9aeb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">physics::ModelPtr gazebo::NubotGazebo::football_model_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aea004ec0ee1c5dfdc8cba31939f18e39"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string gazebo::NubotGazebo::football_name_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af7356a83d30997d884440a10e95d29f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structgazebo_1_1model__state.html">model_state</a> gazebo::NubotGazebo::football_state_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7ebd21f6da11a8f2b514c2e0930a26e6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::force_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0f8a50e34877912a0c53c3185ccd28d9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::I_term_max_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="affe0d982594c738a7ebec3ac1849c01f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::I_term_min_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0d63b5e7f3d213fca30bbe09bd15e114"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool gazebo::NubotGazebo::is_hold_ball_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6392423c1aaf2ba68aac9eeb318f9e5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool gazebo::NubotGazebo::judge_nubot_stuck_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="abc8f7cb67014e700c08e27023353e419"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::kick_ball_vel_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aea8b62919e2834d4311a7fd7935036af"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">math::Vector3 gazebo::NubotGazebo::kick_vector_world_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8e05ad53365765db200e0d62c451e069"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">common::Time gazebo::NubotGazebo::last_current_time_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1aeb8fee9f7e057b182afcf2fd03f1c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">common::Time gazebo::NubotGazebo::last_update_time_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae9da5f6a1c7b5624dbf6bb20a2819d40"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::max_angular_vel_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a67f7850c63c5dd6fe80694c9a426e5ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::max_linear_vel_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae985620428222dd9b1b5f507339119b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boost::thread gazebo::NubotGazebo::message_callback_queue_thread_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7186c914f81602db7bd347b940794bbf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ros::CallbackQueue gazebo::NubotGazebo::message_queue_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a3c54a29f7aa4e67e4f86b5e848a930d5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int gazebo::NubotGazebo::mode_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aefc2d91922066c5ffc1d7faa175ab68a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int gazebo::NubotGazebo::model_count_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="adf2314dfb2ab6cb5ecdb2bb0a9736665"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string gazebo::NubotGazebo::model_name_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a320dc212fab523958abb529f946133bd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">gazebo_msgs::ModelStates gazebo::NubotGazebo::model_states_msg_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7b758780795b0406d06bf5db5122dbe2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ros::Subscriber gazebo::NubotGazebo::ModelStates_sub_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae7c8ddd9342426222c1354740b23a01d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool gazebo::NubotGazebo::ModelStatesCB_flag_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a70f7775e1670311efc2aad7c306a3077"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boost::mutex gazebo::NubotGazebo::msgCB_lock_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae4b4790d24996fbfdd51f74baa45170a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">math::Vector3 gazebo::NubotGazebo::nubot_football_vector_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a11fbfac7f239d13730b4d676af18f67e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::nubot_football_vector_length_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="adce69b7247cba8a3433a6cdfad5b61ef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int gazebo::NubotGazebo::nubot_index_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a97a021a147d45134fe79ab21531e55df"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">physics::LinkPtr gazebo::NubotGazebo::nubot_link_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac7f22b4b498327d11697f07cb064e460"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">physics::ModelPtr gazebo::NubotGazebo::nubot_model_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5abf5be34d8441db05d94ead7924ce14"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structgazebo_1_1model__state.html">model_state</a> gazebo::NubotGazebo::nubot_state_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5a6b999a205a45e1778e0f4d75e325e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">math::Rand gazebo::NubotGazebo::rand_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a36186a24f60f3c88fd6fb12fd85b4fa4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">common::Time gazebo::NubotGazebo::receive_sim_time_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6f892f9dcb5b46bdd232ffec277dd093"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">dynamic_reconfigure::Server&lt;<a class="el" href="classnubot__gazebo_1_1NubotGazeboConfig.html">nubot_gazebo::NubotGazeboConfig</a>&gt;* gazebo::NubotGazebo::reconfigureServer_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac92e4461911d9522f1454978d26ec461"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string gazebo::NubotGazebo::robot_namespace_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5d3cf2ace05ce1ade8b71d1c6397a7b0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string gazebo::NubotGazebo::robot_prefix_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a310c7df239fab0570dbdc82d4552ec6d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ros::NodeHandle* gazebo::NubotGazebo::rosnode_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0c0bc3e99d501d7fcac319848006f87c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boost::thread gazebo::NubotGazebo::service_callback_queue_thread_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae1fe2dc1962659f70ebba9555a92e59a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ros::CallbackQueue gazebo::NubotGazebo::service_queue_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="afd3e6ab82580823e83d84433dac19e86"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ros::ServiceServer gazebo::NubotGazebo::shoot_server_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a85d5357dfacc73801bed752d6dc297d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool gazebo::NubotGazebo::shot_flag_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6b3d2a253732eedfcf18e0223435bed0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boost::mutex gazebo::NubotGazebo::srvCB_lock_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acf9828d7b8b37440a8e45ef63895ec8b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="nubot__gazebo_8hh.html#a9f17572284bab3e9bd067a6393a7953b">nubot_state</a> gazebo::NubotGazebo::state_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8db3f4b9767b4ec34716756f02fb7fe9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="nubot__gazebo_8hh.html#a503a2f01f9f49bd293d3c44faf21b528">nubot_substate</a> gazebo::NubotGazebo::sub_state_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac16bd419aba2826c0227ac575b351e9e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classnubot_1_1ParaTrajPlanning.html">nubot::ParaTrajPlanning</a> gazebo::NubotGazebo::traj_plan_linear_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a95c171c478be4aadf6b4d96a3d3a48c8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classnubot_1_1ParaTrajPlanning.html">nubot::ParaTrajPlanning</a> gazebo::NubotGazebo::traj_plan_rot_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4e3b8b74aa075427ecbd5c82f630144d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">event::ConnectionPtr gazebo::NubotGazebo::update_connection_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6264896320559e214ac33d820c44b357"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ros::Subscriber gazebo::NubotGazebo::Velcmd_sub_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af17747304ff9b241fa0642c52923498b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::Vx_cmd_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a977c91e62fed23c5fb9233e5d38ad597"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::Vy_cmd_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aebc0851c9ab6da1d1c96d470e72758f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double gazebo::NubotGazebo::w_cmd_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa56e5c10cfbbc981460ab1bcc204d071"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">physics::WorldPtr gazebo::NubotGazebo::world_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/nubot_simulation/nubot_gazebo/plugins/<a class="el" href="nubot__gazebo_8hh_source.html">nubot_gazebo.hh</a></li>
<li>src/nubot_simulation/nubot_gazebo/plugins/<a class="el" href="nubot__gazebo_8cc.html">nubot_gazebo.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Jul 30 2016 00:26:42 for single_nubot_gazebo by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>
